package com.ruoyi.jihuo.service;

import com.ruoyi.jihuo.domain.JhTmProductsOnSale;

import java.util.List;
import java.util.Map;

/**
 * 在售商品Service接口
 *
 * @author ruoyi
 * @date 2025-05-07
 */
public interface IJhTmProductsOnSaleService {
    /**
     * 查询在售商品
     *
     * @param jhId 在售商品主键
     * @return 在售商品
     */
    public JhTmProductsOnSale selectJhTmProductsOnSaleByJhId(Long jhId);

    /**
     * 查询在售商品列表
     *
     * @param jhTmProductsOnSale 在售商品
     * @return 在售商品集合
     */
    public List<JhTmProductsOnSale> selectJhTmProductsOnSaleList(JhTmProductsOnSale jhTmProductsOnSale);

    /**
     * 新增在售商品
     *
     * @param jhTmProductsOnSale 在售商品
     * @return 结果
     */
    public int insertJhTmProductsOnSale(JhTmProductsOnSale jhTmProductsOnSale);

    /**
     * 批量新增在售商品
     *
     * @param jhTmProductsOnSaleList 在售商品列表
     * @return 结果
     */
    public int insertJhTmProductsOnSaleBatch(List<JhTmProductsOnSale> jhTmProductsOnSaleList);

    /**
     * 修改在售商品
     *
     * @param jhTmProductsOnSale 在售商品
     * @return 结果
     */
    public int updateJhTmProductsOnSale(JhTmProductsOnSale jhTmProductsOnSale);

    /**
     * 批量删除在售商品
     *
     * @param jhIds 需要删除的在售商品主键集合
     * @return 结果
     */
    public int deleteJhTmProductsOnSaleByJhIds(Long[] jhIds);

    /**
     * 删除在售商品信息
     *
     * @param jhId 在售商品主键
     * @return 结果
     */
    public int deleteJhTmProductsOnSaleByJhId(Long jhId);

    public int clear();

    public void syncVolume();
    boolean isExistByJhTmAccountIdAndJhOriginalUrl(Long jhId, String jhOriginalUrl);

    Map<Long, JhTmProductsOnSale> selectMapByTaskIdAndStatus(Long jhId, String status);

    void updateBatch(List<JhTmProductsOnSale> productsOnSales);
}